Skip to content

Nested SoABlocks - #51554

Merged
cmsbuild merged 4 commits into
cms-sw:masterfrom
Electricks94:nestedBlocks
Aug 2, 2026
Merged

Nested SoABlocks#51554
cmsbuild merged 4 commits into
cms-sw:masterfrom
Electricks94:nestedBlocks

Conversation

@Electricks94

@Electricks94 Electricks94 commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

PR description:

The SOA_BLOCK macro used by SoABlocks accepts only SoALayouts that are not in itself an SoABlocks. If the Layout is an SoABlocks itself the macro fails with cryptic error messages. This PR extends SoABlocks so that it allows to add an SOA_BLOCK which is in itself an SoABlocks Layout. In this way nestes Layouts of Blocks can be formed.

Furthermore, the PR extends the deepcopy mechanism for SoABlocks. Currently deepcopy was not implemented for SoABlocks.

PR validation:

Added tests for nested blocks and deepcopy of SoABlocks

Tests passed

FYI @sbaldu @felicepantaleo

@cmsbuild

cmsbuild commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

cms-bot internal usage

@cmsbuild

Copy link
Copy Markdown
Contributor

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-51554/50290

Code check has found code style and quality issues which could be resolved by applying following patch(s)

Co-authored-by: Leonardo Beltrame <leonardobeltrame00@gmail.com>
@cmsbuild

Copy link
Copy Markdown
Contributor

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-51554/50291

Code check has found code style and quality issues which could be resolved by applying following patch(s)

@cmsbuild

Copy link
Copy Markdown
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-51554/50294

@Electricks94 Electricks94 changed the title Allows nested Blocks in SoABlocks Nested SoABlocks Jul 24, 2026
@cmsbuild

Copy link
Copy Markdown
Contributor

A new Pull Request was created by @Electricks94 for master.

It involves the following packages:

  • DataFormats/Portable (heterogeneous)
  • DataFormats/SoATemplate (heterogeneous)

@cmsbuild, @fwyzard, @makortel can you please review it and eventually sign? Thanks.
@missirol, @mmusich, @rovere this is something you requested to watch as well.
@ftenchini, @mandrenguyen, @sextonkennedy you are the release manager for this.

cms-bot commands are listed here

@makortel

Copy link
Copy Markdown
Contributor

enable gpu

@makortel

Copy link
Copy Markdown
Contributor

@cmsbuild, please test

@cmsbuild

Copy link
Copy Markdown
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-51554/50402

@cmsbuild

Copy link
Copy Markdown
Contributor

Pull request #51554 was updated. @cmsbuild, @fwyzard, @makortel can you please check and sign again.

@Electricks94

Copy link
Copy Markdown
Contributor Author

If I understand the code correctly, that's the deep copy of a SoA with a Block.

Is there a test for a SoA with a nested Block, i.e. a Block that contains another Block ?

I extended the nested blocks deep copy test case. It revealed a logical error in the recursive implementation of the blocks deep copy. I fixed it and updated the PR

@fwyzard

fwyzard commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

😇

@fwyzard

fwyzard commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

please test

@cmsbuild

Copy link
Copy Markdown
Contributor

-1

Failed Tests: amd_mi300xUnitTests amd_w7900UnitTests nvidia_h100UnitTests nvidia_l40sUnitTests nvidia_t4UnitTests
Size: This PR adds an extra 32KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-0ac7d4/55035/summary.html
COMMIT: b8fbf4d
CMSSW: CMSSW_20_1_X_2026-07-31-1100/el9_amd64_gcc13
Additional Tests: GPU,AMD_MI300X,AMD_W7900,NVIDIA_H100,NVIDIA_L40S,NVIDIA_T4
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/51554/55035/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • You potentially added 1 lines to the logs
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 45
  • DQMHistoTests: Total histograms compared: 3588680
  • DQMHistoTests: Total failures: 4
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3588658
  • DQMHistoTests: Total skipped: 18
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 44 files compared)
  • Checked 195 log files, 163 edm output root files, 45 DQM output files
  • TriggerResults: no differences found

AMD_MI300X Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 57 differences found in the comparisons
  • DQMHistoTests: Total files compared: 7
  • DQMHistoTests: Total histograms compared: 172855
  • DQMHistoTests: Total failures: 7460
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 165395
  • DQMHistoTests: Total skipped: 0
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 6 files compared)
  • Checked 25 log files, 20 edm output root files, 7 DQM output files
  • TriggerResults: no differences found

NVIDIA_H100 Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 62 differences found in the comparisons
  • DQMHistoTests: Total files compared: 7
  • DQMHistoTests: Total histograms compared: 172855
  • DQMHistoTests: Total failures: 8039
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 164816
  • DQMHistoTests: Total skipped: 0
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 6 files compared)
  • Checked 25 log files, 20 edm output root files, 7 DQM output files
  • TriggerResults: no differences found

NVIDIA_L40S Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 84 differences found in the comparisons
  • DQMHistoTests: Total files compared: 7
  • DQMHistoTests: Total histograms compared: 172855
  • DQMHistoTests: Total failures: 8238
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 164617
  • DQMHistoTests: Total skipped: 0
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 6 files compared)
  • Checked 25 log files, 20 edm output root files, 7 DQM output files
  • TriggerResults: no differences found

NVIDIA_T4 Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 36 differences found in the comparisons
  • DQMHistoTests: Total files compared: 7
  • DQMHistoTests: Total histograms compared: 172855
  • DQMHistoTests: Total failures: 6934
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 165921
  • DQMHistoTests: Total skipped: 0
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 6 files compared)
  • Checked 25 log files, 20 edm output root files, 7 DQM output files
  • TriggerResults: no differences found

Max Memory Comparisons exceeding threshold NVIDIA_T4

@cms-sw/core-l2 , I found 1 workflow step(s) with memory usage exceeding the error threshold:

Expand to see workflows ...
  • Error: Workflow 34434.7503_TTbar_14TeV+Run4D121_HLTHeterogeneousValid step2 max memory diff -36.5 exceeds +/- 30.0 MiB

@fwyzard

fwyzard commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

ignore tests-rejected with ib-failure

@fwyzard

fwyzard commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

+heterogeneous

@cmsbuild

Copy link
Copy Markdown
Contributor

This pull request is fully signed and it will be integrated in one of the next master IBs (test failures were overridden). This pull request will now be reviewed by the release team before it's merged. @ftenchini, @mandrenguyen, @sextonkennedy (and backports should be raised in the release meeting by the corresponding L2)

@mandrenguyen

Copy link
Copy Markdown
Contributor

+1

@cmsbuild
cmsbuild merged commit 8368712 into cms-sw:master Aug 2, 2026
18 of 24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants